package qualomelhor.database;

import javax.persistence.Id;
import qualomelhor.database.Avatar.MovimentoSobrancelha;
import qualomelhor.database.Avatar.PosicaoBoca;
import qualomelhor.database.Avatar.PosicaoOlhoBoneco;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Indexed;
import com.googlecode.objectify.annotation.Serialized;

import java.io.Serializable;

@Entity
public class ExpressaoDB implements Serializable {

	private static final long serialVersionUID = 0;

	@Id
	private Long id;
	@Indexed
	private String nome;
	@Serialized
	private PosicaoMaosDB posMaos;
	@Serialized
	private PosicaoOlhoBoneco posOlho;
	@Serialized
	private PosicaoBoca posBoca;
	@Serialized
	private MovimentoSobrancelha sobrancelha;
	private int velocidadeD;
	private int velocidadeE;
	private boolean riscarD;
	private boolean riscarE;
	private boolean animar;

	public ExpressaoDB() {

	}

	public ExpressaoDB clone() {
        return new ExpressaoDB(this.nome, this.getPosicaoMaos().clone(), this.getPosicaoOlhoBoneco(), this.getPosicaoBoca(), this.getMovimentoSobrancelha(), this.getVelocidadeD(), this.getVelocidadeE(), this.getRiscarD(), this.getRiscarE(), this.getAnimar());
    }

	public ExpressaoDB(String nome, PosicaoMaosDB pMaos, PosicaoOlhoBoneco pOlho, PosicaoBoca posBoc, MovimentoSobrancelha sobra, int velocD, int velocE, boolean riscarD, boolean riscarE, boolean animar) {
		this.nome = nome;
		posMaos = pMaos;
		posOlho = pOlho;
		posBoca = posBoc;
		sobrancelha = sobra;
		this.velocidadeD = velocD;
		this.velocidadeE = velocE;
		this.riscarD = riscarD;
		this.riscarE = riscarE;
		this.animar = animar;
	}

	public Long getId() {
		return id;
	}

	public String getNome() {
		return nome;
	}

	public PosicaoMaosDB getPosicaoMaos() {
		return posMaos;
	}

	public PosicaoOlhoBoneco getPosicaoOlhoBoneco() {
		return posOlho;
	}

	public PosicaoBoca getPosicaoBoca() {
		return posBoca;
	}

	public MovimentoSobrancelha getMovimentoSobrancelha() {
		return sobrancelha;
	}

	public int getVelocidadeD() {
		return velocidadeD;
	}

	public int getVelocidadeE() {
		return velocidadeE;
	}

	public boolean getRiscarD() {
		return riscarD;
	}

	public boolean getRiscarE() {
		return riscarE;
	}

	public boolean getAnimar() {
		return animar;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setPosicaoMaos(PosicaoMaosDB pMaos) {
		this.posMaos = pMaos;
	}

	public void setPosicaoOlhoBoneco(PosicaoOlhoBoneco pOlhoBoneco) {
		this.posOlho = pOlhoBoneco;
	}

	public void setPosicaoBoca(PosicaoBoca posBoca) {
		this.posBoca = posBoca;
	}

	public void setMovimentoSobrancelha(MovimentoSobrancelha movSobrancelha) {
		this.sobrancelha = movSobrancelha;
	}

	public void setVelocidadeD(int velocD) {
		this.velocidadeD = velocD;
	}

	public void setVelocidadeE(int velocE) {
		this.velocidadeE = velocE;
	}

	public void setAnimar(boolean animar) {
		this.animar = animar;
	}

	public void setRiscarD(boolean riscarD) {
		this.riscarD = riscarD;
	}

	public void setRiscarE(boolean riscarE) {
		this.riscarE = riscarE;
	}
}